Supplemental Material to A Propagator Design Framework for Constraints over Sequences

نویسندگان

  • Jean-Noël Monette
  • Justin Pearson
چکیده

This supplemental material gives the extended definitions of the tuple operations, lists the definition of some transformation operators, details the examples about DEVIATION, SEQBIN, and LONGESTPLATEAU, and describes the experimental protocol for the experiments. 1 Extended Definitions of Tuple Operations The projection 〈vi1 , . . . , vik〉 of a tuple 〈v1, . . . , vn〉 onto a subset of its components i1, . . . , ik is written πi1,...,ik(〈v1, . . . , vn〉). The projection πi1,...,ik(S) of a tuple set S is the set of the projections of the tuples in S (πi1,...,ik(S) = {〈vi1 , . . . , vik〉 | 〈v1, . . . , vn〉 ∈ S}). The concatenation of two tuples is defined as 〈v1, . . . , vn〉 · 〈w1, . . . , wm〉 = 〈v1, . . . , vn, w1, . . . , wm〉. The Cartesian product of two tuple sets is the pointwise lifting of the concatenation: S×T = {s ·t | s ∈ S∧t ∈ T}. The restriction (written σ) of a tuple set S is the subset containing the tuples whose projection on some components i1, . . . , ik is contained in another set T : σi1,...,ik;T (S) = {s | s ∈ S ∧ πi1,...,ik(s) ∈ T}. The selection operator in the article can be defined in terms of the projection and restriction operators: ρv(S) = π2(σ1;{v}(S)). In this appendix, we make use of a slightly more general selection operator: ρik v (S) = πi1,...,ik(σ1;{v}(S)). 2 Transformation Operators We list here a few transformation operators used in the refinement of pruning rules (beside the ones described in the main text). smap o filter(λ 〈〉 . e, λt . true, 〈〉) e (Simplification) smap o filter(λ 〈〉 . e, λ 〈〉 . b, 〈〉) if b then e else ∅ (Simplification) 〈k, z〉 ∈ dom(XY) z ∈ ρk(dom(XY)) (Isolation of a variable) max(A,B) bmax(〈A,B〉) (Grouping) C1 ∧ C2 C1 (Weakening) S1 ∩ S2 S1 (Weakening) lift[v1 = S2] v1 ∈ S2 (Lifting of equality from values to sets) lift[S1 = S2] S1 ∩ S2 6= ∅ (Lifting of equality from values to sets) 3 Simplified DEVIATION Example This is DEVIATION using the following DP formulation as in Examples 1, 2, and 3 of the main text: S0 = 0 ∧D0 = 0 (CF) ( Si = Si−1 +Xi ∧ Di = Di−1 + |Xi −m| ) i ∈ 1..n (Ci) Sn = m · n ∧Dn = D (CL) After introduction of the SDi tuple variables, it becomes: SD0 = 〈0, 0〉 (CF) SDi = SDi−1 + 〈Xi, |Xi −m|〉 i ∈ 1..n (Ci) SDn = 〈m · n,D〉 (CL) SDi = 〈Si, Di〉 i ∈ 0..n (CAi ) Constraint CAi and variables Si and Di can be removed, assuming Si and Di are not used in any other constraint. We now describe a complete non-incremental and stateless propagator. To reproduce an incremental version is beyond the scope of this appendix. The propagator makes use of a preprocessing step. This preprocessing is used to reduce the domain of the variables using a weaker domain representation and weaker pruning rules. In practice, we introduce a SDi tuple variable with domain representation I, while the original SDi variable has a domain representation E → I. The preprocessing corresponds to the cutoff presented in (Pesant 2011), which is useful to achieve the given time complexity. The propagator is described as follows. The individual pruning rules are described below. filter SDn based on CL with rule rp1 for i = n down to 1 filter SDi−1 based on Ci with rule rp2 filter SD0 based on CF with rule r1 for i = 1 to n filter SDi based on Ci and SDi with rule r2 filter SDn based on CL with rule r3 filter D based on CL with rule r4 for i = n down to 1 filter SDi−1 based on Ci with rule r5 filter Xi based on Ci with rule r6 The link between the two tuple variable domain representations is performed in pruning rule r2 by enforcing that π1(SDi) is a subset of π1(SDi). We present all pruning rules in the form “Y in e”, meaning that the domain of variable Y must be restricted to become a (non-strict) subset of expression e. The preprocessing pruning rules are the following ones: SDn in {m · n} × bnd(D) (rp1) SDi−1 in SDi − (bnd(Xi)× |bnd(Xi)−m|) (rp2) where bnd(X) is the smallest interval enclosing the domain of an integer variable X (i.e., it is a shortcut for min(dom(X))..max(dom(X))). The other pruning rules are: SD0 in {〈0, 0〉} (r1) SDi in smap o filter( (r2) λ 〈xi, si−1〉 . {si−1 + xi} × (ρ2si−1(dom(SDi−1)) + {|xi −m|}), λ 〈xi, si−1〉 . (si−1 + xi) ∈ π1(SDi), dom(Xi)× π1(dom(SDi−1))) SDn in {m · n} × dom(D) (r3) D in π2(dom(SDn)) (r4) SDi−1 in smap o filter(λ 〈xi, si〉 . {si − xi} × (r5) ( ρ2si(dom(SDi))− {|xi −m|} ) , λt . true, dom(Xi)× π1(dom(SDi))) Xi in smap o filter( (r6) λ 〈xi, si−1〉 . {xi}, λ 〈xi, si−1〉 . ρ2si−1(dom(SDi−1)) + {|xi −m|} ∩ ρ2(si−1+xi)(dom(SDi)) 6= ∅, dom(Xi)× π1(dom(SDi−1))) 4 Complete DEVIATION Example The DP formulation of DEVIATION used in Examples 1, 2, and 3 of the main text as been simplified for ease of presentation. (Pesant 2011) actually implicitly uses another DP formulation than the one of Example 1, namely: S0 = 0 ∧D 0 = 0 ∧D 0 = D ∧D 0 = D (CF)  Si = Si−1 +Xi ∧ D i = D f i−1 + |Xi −m| ∧ D i = D b i−1 − |Xi −m| ∧ D i +D b i = D t i ∧ D i = D t i−1  i ∈ 1..n (Ci) Sn = m · n ∧D n = D ∧D n = 0 ∧D n = D (CL) where D i is the partial deviation for the variables from 1 to i, D i is the partial deviation for the variables from i + 1 to n, and D i is the total deviation. All D t i are equal to each other and to D. The 4-tuple link variable SDi represents Si,D f i ,D b i , andD t i , and we use domain representation (E → I) × I. As we use a Cartesian product to separate D i from the rest of the tuple, an implementation can ensure that the domains of all D i are implemented by a unique object (as they are all equal). To simplify presentation, we will leave the D i out of the formulation and use D in their place. Hence from now on, SDi represents Si, D f i , and D b i , with domain representation E → I. The DP formulation after introduction of the tuple variables is: SD0 = 〈0, 0, D〉 (CF) ( SDi = SDi−1 + 〈Xi, |Xi −m| ,− |Xi −m|〉 ∧ π2(SDi) + π3(SDi) = D ) i ∈ 1..n (Ci) SDn = 〈m · n,D, 0〉 (CL) The control is the same as in the simplified version. We use the symbol U (representing the universe set, i.e., Z or a subset thereof) when some component of a tuple variable is not restricted by a pruning rule. Here are the pruning rules: SDn in {m · n} × U (rp1) SDi−1 in (π1(SDi)− bnd(Xi))× U (rp2) SD0 in {〈0, 0〉} × dom(D) (r1) SDi in smap o filter( (r2) λ 〈xi, si−1〉 . {si−1 + xi} × (ρ2si−1(dom(SDi−1)) + {|xi −m|})× U , λ 〈xi, si−1〉 . (si−1 + xi) ∈ π1(SDi), dom(Xi)× π1(dom(SDi−1))) SDn in {m · n} × dom(D)× {0} (r3) D in π2(dom(SDn)) (r4) SDi−1 in smap o filter(λ 〈xi, si〉 . {si − xi} × (r5) U × (ρ3si(dom(SDi)) + {|xi −m|}), λt . true, dom(Xi)× π1(dom(SDi))) Xi in smap o filter( (r6) λ 〈xi, si−1〉 . {xi}, λ 〈xi, si−1〉 . ρ2si−1(dom(SDi−1)) + {|xi −m|} + ρ3(si−1+xi)(dom(SDi)) ∩ dom(D) 6= ∅, dom(Xi)× π1(dom(SDi−1))) 5 Simplified SEQBIN Example We now present a propagator for SEQBIN based on the formulation given in the main text (Example 4). The DP formulation, after introduction of the XSi tuple variables, is: π2(XS0) = 0 (CF) ( π2(XSi) = π2(XSi−1) + [B(π1(XSi−1), π1(XSi))] ∧ D(π1(XSi−1), π1(XSi)) )

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Propagator Design Framework for Constraints over Sequences

Constraints over variable sequences are ubiquitous and many of their propagators have been inspired by dynamic programming (DP). We propose a conceptual framework for designing such propagators: pruning rules, in a functional notation, are refined upon the application of transformation operators to a DP-style formulation of a constraint; a representation of the (tuple) variable domains is picke...

متن کامل

ISOGEOMETRIC TOPOLOGY OPTIMIZATION OF STRUCTURES CONSIDERING WEIGHT MINIMIZATION AND LOCAL STRESS CONSTRAINTS

The Isogeometric Analysis (IA) is utilized for structural topology optimization  considering minimization of weight and local stress constraints. For this purpose, material density of the structure  is  assumed  as  a  continuous  function  throughout  the  design  domain  and approximated using the Non-Uniform Rational B-Spline (NURBS) basis functions. Control points of the density surface are...

متن کامل

Waveform Design using Second Order Cone Programming in Radar Systems

Transmit waveform design is one of the most important problems in active sensing and communication systems. This problem, due to the complexity and non-convexity, has been always the main topic of many papers for the decades. However, still an optimal solution which guarantees a global minimum for this multi-variable optimization problem is not found. In this paper, we propose an attracting met...

متن کامل

Satellite Conceptual Design Multi-Objective Optimization Using Co Framework

This paper focuses upon the development of an efficient method for conceptual design optimization of a satellite. There are many option for a satellite subsystems that could be choice, as acceptable solution to implement of a space system mission. Every option should be assessment based on the different criteria such as cost, mass, reliability and technology contraint (complexity). In this rese...

متن کامل

Propagating Regular Counting Constraints

Constraints over finite sequences of variables are ubiquitous in sequencing and timetabling. This led to general modelling techniques and generic propagators, often based on deterministic finite automata (DFA) and their extensions. We consider counter-DFAs (cDFA), which provide concise models for regular counting constraints, that is constraints over the number of times a regular-language patte...

متن کامل

A Parallel, Backjumping Subgraph Isomorphism Algorithm Using Supplemental Graphs

The subgraph isomorphism problem involves finding a pattern graph inside a target graph. We present a new bitand thread-parallel constraint-based search algorithm for the problem, and experiment on a wide range of standard benchmark instances to demonstrate its effectiveness. We introduce supplemental graphs, to create implied constraints. We use a new low-overhead, lazy variation of conflict d...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014